/**  
 * All rights Reserved, Designed By www.flksh.com
 * @date:   2017-10-30 15:40:52   
 * @Copyright: 2013-2017 www.flksh.com Inc. All rights reserved. 
 * 注意：本内容仅限于上海福乐康社区养老服务有限公司内部传阅，禁止外泄以及用于其他的商业目
 */
package com.zx.cloud.persistence;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.zx.cloud.domain.RepayOrder;
import com.zx.cloud.MyBatisRepository;

/**
 * 还款订单表Dao
 */
@MyBatisRepository
public interface RepayOrderMapper extends CrudMapper<RepayOrder> {

	/**
	 * @Description:贷后管理—还款订单—列表
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	List<RepayOrder> getRepayOrderList(RepayOrder entity);

	/**
	 * @Description:贷后管理—还款订单—列表—数量
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	long getRepayOrderCount(RepayOrder entity);

	/**
	 * @Description:贷后管理—还款订单—列表-还款短信
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	RepayOrder getRepaySendSMSInfo(Long id);

	/**
	 * @Description:我的未结清订单
	 * @author likun
	 * @Create Time: 2017年11月2日下午6:38:40
	 * @param entity
	 * @return
	 */
	List<RepayOrder> getUnclearedOrderByClientId(Map<String, Object> params);

	/**
	 * @Description:待还款总金额
	 * @author likun
	 * @Create Time: 2017年11月8日下午1:41:48
	 * @return
	 */
	BigDecimal getRepayAmountTotal();

	/**
	 * @Description:逾期还款总金额
	 * @author likun
	 * @Create Time: 2017年11月8日下午1:41:48
	 * @return
	 */
	BigDecimal getOverdueAmountTotal();

	/**
	 * @Description:逾期利息相关—未结清订单—列表
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	List<RepayOrder> getUnclearedOrderList(RepayOrder entity);

	/**
	 * @Description:逾期利息相关—查询当天逾期利息是否生成
	 * @author likun
	 * @Create Time: 2017年11月13日上午9:16:29
	 * @param params
	 * @return
	 */
	long getTodayOverdueCount(Map<String, Object> params);

	/**
	 * @Description:我的还款记录
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	List<RepayOrder> getMyRepayOrderList(RepayOrder entity);

	/**
	 * @Description:我的还款记录—数量
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	long getMyRepayOrdeCount(RepayOrder entity);
	
	 /**
     * @Description:单条还款记录
     * @author likun
     * @Create Time: 2017年10月30日下午6:20:14
     */
	 RepayOrder getRepayOrderDetail(Map<String, Object> params);
   /**
	 * @Description:代扣—未结清且未逾期还款订单 
	 * @author likun
	 * @Create Time: 2017年10月30日下午6:20:14
	 */
	List<RepayOrder> getNotOverdueOrderList();
}
